概念說明
Zabbix前端報警及郵件發信等已可立即告警,但如果能整合到內部系統豈不甚好?
既然如此,後面將會以下圖說明由Redis Server做為中間接收的媒介,讓Zabbix與內部系統整合告警。

1. Zabbix Server
Zabbix告警動作可以選擇腳本,這點非常強大,只要設好監控項到動作告警,剩下都可以交由腳本做進一步的呈現。
觸發器
創建觸發器。

報警媒介
創建腳本RedisAlarm.py,當發報時會將觸發器的狀態寫入到Redis中。
名稱:RedisAlarm
類型:“腳本”
腳本名稱:RedisAlarm.py
(
    路經:/usr/local/share/zabbix/alertscripts,
    權限:777
)
腳本參數:
    {ALERT.SENDTO} 收件人地址
    {ALERT.SUBJECT} 主題
    {ALERT.MESSAGE} 詳細內容

- 創建腳本
RedisAlarm.py
| 1 | #!/home/zabbix/anaconda2/bin/python | 
用戶報警媒介”收件人”
設定收件人為RedisServerIP,設定完記得按更新。

動作
- 選擇觸發器 - 一個動作可包含多個觸發器。  
- 操作步驟 - 默认接收人:{TRIGGER.STATUS} 觸發器狀態 
 默认信息:{TRIGGER.NAME} 觸發器名稱 
- 恢复操作步驟 - 默认接收人:{TRIGGER.STATUS} 觸發器狀態 
 默认信息:{TRIGGER.NAME} 觸發器名稱 
2. Redis Server
Redis Server是一個Key,Velue的數據庫,默認數據是存於內存的,擁有極快的存取速度,通常用於緩存資料使用。
建立初始資料
先確保Redis可否連接,在新增觸發器名稱作為Redis Key,這邊用一個簡單的腳本新增。
| 1 | import redis | 
先全部新增為”OK”,不然後面Get不到值會出錯。
3. Zabbix Alarm Client
利用Wxpython製作一個實時監測Zabbix監控項的小程序。
完成圖
wxpython